home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 12683 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.6 KB

  1. Path: pegasus.odyssee.net!news
  2. From: imaze@odyssee.net (Marc Mazerolle)
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: 'delete' dos not work !!!! (for me...)
  5. Date: Thu, 21 Mar 1996 00:22:48 GMT
  6. Organization: Odyssee Internet
  7. Message-ID: <4iq7ee$enb@pegasus.odyssee.net>
  8. References: <ROLLET.96Mar18215549@oriole.DMI.USherb.CA>
  9. Reply-To: imaze@odyssee.net
  10. NNTP-Posting-Host: pool15_12.odyssee.net
  11. X-Newsreader: Forte Free Agent v0.55
  12.  
  13. rollet@oriole.DMI.USherb.CA (Romaric Rollet) wrote:
  14.  
  15. >In that piece of code...
  16. >delete never free the variable donnee (or don in the second function)...
  17.  
  18. >Image*
  19. >sobel(Image* im)
  20. >{
  21. >  Image* res;
  22. >  int* donnee= new int[im->w*im->h];
  23. >  int index;
  24. >  int max = -65535, min = 65535;
  25. >  for(int i = 0; i < im->w - 1; i++)
  26. >    for (int j = 0; j < im->h - 1; j++) {
  27. >      index = i + j * im->w;
  28. >      donnee[index] = -im->data[index]
  29. >                        + im->data[index+1]
  30. >                        - im->data[index+im->w]
  31. >                        + im->data[index+1+im->w];
  32. >      if (donnee[index] > max) max = donnee[index];
  33. >      if (donnee[index] < min) min = donnee[index];
  34. >    }
  35. >  return norm(donnee, im->w, im->h, max , min);
  36. >}
  37. >Image*
  38. >norm(int* don, int w, int h, int M, int m)
  39. >{
  40. >  Image* res=new Image(w, h);
  41. >  for(int i = 0; i < w * h; i++)
  42. >    res->data[i] = (((don[i] - m) * 255) / (M - m));
  43. >  delete don;
  44. >  return res;
  45. >}
  46.  
  47. >Why ?? (this is about 800Ko allocated for me and what a shame not to free it !!)
  48.  
  49. >Thanxs for your answers..
  50. >Romaric Rollet.
  51.  
  52. If you alocate using [], use [] to free.....
  53.  
  54. int *i = new int [256];
  55.  
  56. free [] i;
  57.  
  58.  
  59.  
  60.